package cn.airia.as3wplib.service
{
	public interface IMovableTypeService
	{
		/**
		 * @param blog_id 
		 * @param username 
		 * @param password 
		 * @param retFun Array
		 * element type: Object</br>
		 * <ul>
		 * <li>int categoryId</li>
		 * <li>string categoryName</li>
		 * </ul>
		 */
		function getCategoryList(blog_id:int,username:String,password:String,retFun:Function):void;
		
		/**
		 * @param blog_id 
		 * @param username 
		 * @param password 
		 * @param num_posts 
		 * @param retFun Array
		 * element type: Object</br>
		 * <ul>
		 * <li>date dateCreated</li>
		 * <li>date date_created_gmt</li>
		 * <li>postid int</li>
		 * <li>string title</li>
		 * <li>int userid</li>
		 * </ul>
		 */
		function getRecentPostTitles(blog_id:int,username:String,password:String,num_posts:int,retFun:Function):void;
		
		/**
		 * @param post_id 
		 * @param username 
		 * @param password 
		 * @param num_posts 
		 * @param retFun Array
		 * element type: Object</br>
		 * <ul>
		 * <li>int categoryId</li>
		 * <li>string categoryName</li>
		 * <li>bool isPrimary</li>
		 * </ul>
		 */		
		function getPostCategories(post_id:int,username:String,password:String,num_posts:int,retFun:Function):void;
		
		/**
		 * @param post_id 
		 * @param username 
		 * @param password 
		 * @param categories 
		 * element type: Object</br>
		 * <ul>
		 * <li>int categoryId</li>
		 * </ul>
		 * @param retFun Boolean
		 */
		function setPostCategories(post_id:int,username:String,password:String,categories:Array,retFun:Function):void;
		
		/**
		 * @param retFun Array elementType String
		 * return all xmlrpc api invoke name,like "wp.getComment","wp.setOptions",...
		 */
		function supportedMethods(retFun:Function):void;
		
		/**
		 * @param retFun Array
		 * no result returns when I test this operation...
		 */
		function supportedTextFilters(retFun:Function):void;
		/**
		 * @param retFun Array
		 * no result returns when I test this operation...
		 */
		function getTrackbackPings(post_id:int,retFun:Function):void;
		/**
		 * @param post_id 
		 * @param username 
		 * @param password 
		 * @param retFun int(post_id)
		 */
		function publishPost(post_id:int,username:String,password:String,retFun:Function):void;
	}
}